//同以目录下的文件更名：
const fs = require("fs");
const path = require("path");
const os = require("os");
const { addAbortSignal } = require("stream");
const { start } = require("repl");
// 包含当前文件夹所有内容的数组
let allFiles = fs.readdirSync(__dirname);
// 更名操作
function my_rename(oldName, newName) {
    fs.rename(oldName, newName, function(err) {
        if (err) {
            throw err;
        }

        // console.log("rename is done!");
    });
}
// 验证结尾后缀是否为真。str文件的名字。appoint文件后缀的名字
function my_validationEnd(str, appoint) {
    // 不区分大小写全部转换成小写。
    str = str.toLowerCase();
    let tempArr = str.split(".");
    let endStr = tempArr[tempArr.length - 1];
    if (appoint === endStr) {
        return true;
    }
    return false;
}
// 过滤数组的方法，返回我想要的文件类型的数组。第一个参数文件数组。第二个参数后缀名，字符串。
function type_arr(arr, typeStr) {
    let newArr = [];
    for (let i in arr) {
        if (my_validationEnd(arr[i], typeStr)) {
            newArr.push(arr[i]);
        }
    }
    return newArr;
}

// 把a00b.txt更名为a-b.txt
function my_rename_to_h265(fileType, suffix) {
    // 所有该格式文件的数组 只剩下mkv视频的文件数组
    let typeArray = type_arr(allFiles, fileType);
    typeArray.forEach((element) => {
        // 如果已经有了要添加的后缀名，就不重命名
        if (element.toLowerCase().indexOf(suffix) !== -1) {
            return true;
        }
        // aaa.bbb.ccc.mkv
        let lastPointIndex = element.lastIndexOf('.')
        let startStr = element.slice(0, lastPointIndex)
            // 包含.
        let endStr = element.slice(lastPointIndex)
            // console.log(startStr,endStr);
            // let tempStrArr = element.split('.')
            // my_rename(element, element + ' ' + suffix + '.' + tempStrArr[tempStrArr.length - 1])
        my_rename(element, startStr + ' ' + suffix + endStr)

    });
    console.log("已经重命名成" + suffix + "!");
}
// my_rename_to_h265('mkv', 'h265')
my_rename_to_h265('txt', 'h265')